package com.lw;

import java.awt.*;

/**
 * 工具类
 */
public class GameUtil {

    //游戏难度
    static int level;

    //游戏状态  0游戏中，1胜利，2失败，3难度选择
    static int state = 3;
    static Image face = Toolkit.getDefaultToolkit().getImage("imgs/face.png");//游戏中图片
    static Image over = Toolkit.getDefaultToolkit().getImage("imgs/over.png");//失败图片
    static Image win = Toolkit.getDefaultToolkit().getImage("imgs/win.png");//胜利图片

    //鼠标相关参数
    static int MOUSE_X,MOUSE_Y;//坐标
    static boolean LEFT=false,RIGHT=false;//鼠标状态

    //地雷个数
    static int RAY_MAX = 100;
    static int FLAG_NUM = 0;//插旗数量
    static long START_TIME,END_TIME;//耗时使用

    static int MAP_W = 31;//格子宽(横向数量的格子
    static int MAP_H = 17;//格子高（竖向数量的格子）
    static int OFFSET = 45;//雷区偏移量
    static int SQUARE_LENGTH = 50;//格子数量

    //底层元素 -1雷，0空，1~8表示对应数字
    static int[][] DATA_BOTTOM = new int[MAP_W + 2][MAP_H + 2];

    //顶层元素  -1无覆盖，0覆盖，1插旗，2插错棋
    static int[][] DATA_TOP = new int[MAP_W + 2][MAP_H + 2];
    static Image top = Toolkit.getDefaultToolkit().getImage("imgs/top.png");//覆盖图片
    static Image flag = Toolkit.getDefaultToolkit().getImage("imgs/flag.png");//插旗图片
    static Image noflag = Toolkit.getDefaultToolkit().getImage("imgs/noflag.png");//插错棋图片

    //地雷图片
    static Image lei = Toolkit.getDefaultToolkit().getImage("imgs/lei.png");

    //数字图片 数字图片8张，占据了1~8下标
    static Image[] images = new Image[9];

    static {
        for (int i = 1; i <= 8; i++) {//加载数字图片
            images[i] = Toolkit.getDefaultToolkit().getImage("imgs/num/"+i+".png");
        }
    }

    /**
     * 绘制文字
     */
    static void drawWord(Graphics g,String str,int x,int y,int size,Color color){
        g.setColor(color);
        g.setFont(new Font("仿宋",Font.BOLD,size));
        g.drawString(str,x,y);
    }

    /**
     * 方法调用栈
     */
    public static void printStackTrace() {
        StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
        for (StackTraceElement element : stackTraceElements) {
            String className = element.getClassName();
            if(className.startsWith("com.lw")){
                System.out.println(element);
            }
        }
    }

}
